import argparse

import pandas as pd


def main(fileName, saveFileName):
    # 读取Excel文件
    df = pd.read_excel(fileName, skiprows=1)

    # 设置第二行作为新的标题行
    new_header = df.iloc[0]  # 获取第二行作为新的标题
    df = df[1:]  # 删除第二行（现在是第一行）
    df.columns = new_header  # 将新的标题设置为列名

    row_01 = df.iloc[0]

    # print(row_01)
    #
    # print(df.columns)

    selected_columns = ['上课院系', '上课班级', '排课人数', '选课人数', '开课单位', '开课课程', '授课教师', '开课时间',
                        '上课地点', '上课周次', '星期']

    # 使用 loc 方法或直接通过列名列表来筛选这些列
    filtered_df = df[selected_columns]

    # 查看筛选后的 DataFrame
    print(filtered_df)

    # 将筛选后的数据保存到新的Excel文件
    filtered_df.to_excel(saveFileName, index=False)

    print(f"数据已成功保存到 {saveFileName}")


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    # 添加命令行参数
    parser.add_argument('-f', type=str, required=True, help='被筛选的文件路径')
    parser.add_argument('-s', type=str, required=True, help='筛选后的文件名')

    # 解析命令行参数
    args = parser.parse_args()

    # 调用 main 函数并传递参数
    main(args.f, args.s)
